"""
递归: 在当前函数中调用当前函数本身
Python中最大递归深度为1000,超过会崩溃
"""

"""
有一对兔子，从出生后第3个月起每个月都生一对兔子，小兔子长到第三个月后每个月又生一对兔子，
假如兔子都不死，问第二十个月的兔子对数为多少？

1 A
1 A
2 A,A1
3 A,A1,A2
5 A,A1,A1_1,A2,A3
8 A,A1,A1_1,A1_2,A2,A2_1,A3,A4
....

1+1+2+3+5+8+...
"""


def func(month):
    if month < 1:
        return BaseException
    elif month == 1 or month == 2:
        return 1
    else:
        return func(month - 2) + func(month - 1)


print(func(20))
